package com.hwpt.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hwpt.dto.admin.UserBasicInfoDTO;
import com.hwpt.dto.admin.UserListDTO;
import com.hwpt.dto.user.UserRegisterDTO;
import com.hwpt.entity.UserBasicInfo;
import com.hwpt.result.PageResult;
import com.hwpt.vo.admin.UserBasicInfoVo;
import com.hwpt.vo.admin.UserListVo;
import com.hwpt.vo.user.UserAllInfoVO;

import java.util.List;

public interface UserInfoService  extends IService<UserBasicInfo> {
    // 注册用户
    void registerUser(UserRegisterDTO userRegisterDTO);
    // 根据手机号查询用户
    UserBasicInfo getUserByPhone(String phone);
    // 根据汉王ID查询用户
    UserBasicInfo getUserByHanWangId(String hanWangId);
    // 根据用户ID查询用户所有信息
    UserAllInfoVO getUserAllInfo(String hanWangId);
    // 检查手机号是否已注册
    void checkPhoneRegistered(String phone);
    // 检查手机号是否未注册
    void checkPhoneNotRegistered(String phone);
    // 同步用户基本信息
    void syncBasicInfo(UserAllInfoVO userAllInfoVO);
    // 分页查询用户列表
    PageResult<UserListVo> list(UserListDTO userListDTO);
    //获取用户详细信息
    UserBasicInfoVo getUser(String userId);
    //添加用户
    Long addUser(UserBasicInfo userBasicInfo);
    //更新用户信息
    void updateUser(String userId, UserBasicInfoDTO userBasicInfoDTO);
    //删除用户
    void deleteUser(String userId);
    //批量删除用户
    void batchDeleteUsers(List<Long> userIds);
}